package org.springblade.task.base.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.jsoup.Connection;
import org.springblade.task.base.entity.BaseUser;
import org.springblade.task.base.param.BaseUserParam;
import org.springblade.task.base.vo.BaseUserVO;

import java.util.List;

/**
 * @Title: ${file_name}
 * @Package ${package_name}
 * @Description: TODO
 * @author syncwt
 * @date ${date} ${time}
 * @version V1.0
 */
public interface IBaseUserService extends IService<BaseUser> {

	/**
	 * 查询用户数
	 * @param param
	 * @return
	 */
	Integer queryUserCount(BaseUserParam param);

	List<BaseUserVO> queryList(BaseUserParam param);

	/**
	 * 查询今日登陆用户列表
	 * @param param
	 * @return
	 */
	List<BaseUserVO> queryTodayLoginUserList(BaseUserParam param);

	/***
	 * 查询今日首次登陆用户数
	 * @param param
	 * @return
	 */
	Integer queryTodayFirstLoginUserCount(BaseUserParam param);

	/**
	 * 查询首次付费用户列表
	 * @return
	 */
	List<String> queryFirstPaymentUserList(String firstPaymentDate);

	/**
	 * 批量保存更新首次付费日期
	 * @param list
	 */
	void saveUpdateBatchFirstPaymentDate(List<BaseUser> list);

	/**
	 * 查询首次登陆前时间的用户
	 * @param param
	 * @return
	 */
	List<String> queryLessThanFirstLoginTime(BaseUserParam param);

	/**
	 * 查询用户信息
	 * @return
	 */
	public List<BaseUserVO> queryUserList(BaseUserParam param);

	/**
	 * 查询潜力用户信息
	 * @return
	 */
	public List<BaseUserVO> queryPotentialUserList();

	/**
	 * 状态1：潜力用户
	 * @param pinList
	 */
	void updatePotentialUserStateOne(List<String> pinList);

	/**
	 * 状态2：潜力转付费用户
	 * @param pinList
	 */
	void updatePotentialUserStateTwo(List<String> pinList);
}
